package com.huida.app.hutoolsusage;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author wangzhuangzhuang
 * @DESC: 集合工具类
 * @date 2022-01-11 10:44
 */
@SpringBootTest
public class CollUtilUsageDemo {

	/**
	 * join方法 将集合转换为字符串是StrUtil.split的反方法
	 * 这个方法的参数支持各种类型对象的集合，最后连接每个对象时候调用其toString()方法
	 * */
	@Test
	public void test01(){
		String[] col = new String[]{"a", "b", "c", "d", "e"};
		List<String> colList = cn.hutool.core.collection.CollUtil.newArrayList(col);

		String info = CollUtil.join(colList, "#");
		System.out.println("info: " + info); // info: a#b#c#d#e

		// 判断集合是否为空（包括null和没有元素的集合）
		// isEmpty、isNotEmpty方法=
	}

	/**
	 * ★ 给定两个集合，然后两个集合中的元素一一对应，成为一个Map。此方法还有一个重载方法，可以传入字符，然后给定分隔符
	 * 字符串会被split成列表
	 * */
	@Test
	public void test02(){
		ArrayList<String> keys = CollUtil.newArrayList("a", "b", "c", "d");
		ArrayList<Integer> values = CollUtil.newArrayList(1, 2, 3, 4);
		Map<String, Integer> map = CollUtil.zip(keys, values);

		String s = ArrayUtil.toString(map);
		System.out.println(s); // {a=1, b=2, c=3, d=4}
	}




}